package com.linkage.bss.crm.packagemgr.smo;

import java.util.List;
import java.util.Map;

import com.linkage.bss.commons.dao.Page;
import com.linkage.bss.crm.packagemgr.dto.PackInfoDto;
import com.linkage.bss.crm.packagemgr.model.Package;

/**
 *
 * 包管理SMO
 *
 * @author  olns
 * @version  [版本号, 2013-4-28]
 * @see  [相关类/方法]
 * @since  [产品/模块版本]
 */
public interface IPackageManagerSMO {

	/**
	 * 保存包内容
	 *
	 * @return void 默认成功， 出差报异常
	 * @exception throws [违例类型] [违例说明]
	 * @see [类、类#方法、类#成员]
	 */
	public void savePackage(Package pack);

	/**
	 *
	 * 获得包数量
	 * @param map
	 * @return int
	 */
	public int getPackageByCondCount(Map map);

	/**
	 *
	 * 获得包集合
	 * @param map
	 * @param page
	 * @return List<Package>
	 */
	public List<Package> getPackageByCond(Map map, Page page);

	/**
	 *根据包ID查询详细 信息 ， 包含条目信息，对象详细，包参数信息
	 */
	public Package getPackageByID(Long packageId);

	/**
	 * 包修改
	 * @param pack
	 * @return [参数说明]
	 *
	 * @return boolean [返回类型说明]
	 * @exception throws [违例类型] [违例说明]
	 * @see [类、类#方法、类#成员]
	 */
	public boolean updatePackage(Package pack, Map operateMap);

	public PackInfoDto queryPackInfoByPackId(Long packId);

	public boolean delPackage(List<Package> packIdList);

}
